Video Thumbnail
5:25
2:46
clock icon Created with Sketch. 5 minutes

FAQ: How to Become a Better Architect? (using the 12 Essentials)

Aug 29th, 2023: Some FAQ videos incoming. There might be some text written below here for now, but we'll be updating this with video shortly along with the rest of the Metaphysics lessons. Cheers!

 

How to Become a Better Architect

[00:00:00]

So yeah, this is a great one here. Becoming a better architect. Now, what is an architect really? It's about making the decisions at the start of a project that are going to be really smart to make. And I think that's something that just comes with experience.

However, there is a good amount of education that needs to be done as well. So you just need to know about the foundational architectural styles and patterns that exist that are just foundational to the way that we're writing code. So this is why we have something called the stereotypical architecture, which is something that you see on the front end, the back end, the desktop, you see it everywhere.

It's. It has a few laws in there. Like one of the laws is that we have the [00:01:00] CQS principle, meaning that there has to be a read path and a write path. There's very good reasons for that. It's also event based, which means that we could scale features horizontally because we could just temporally decouple features.

So if you've seen the temporal decoupling, essentially, you'll know why that's so important. And then also the horizontal decoupling as well, there's layers of concerns, so we need to make sure that we have those layers of concerns established and that we're putting the responsibilities in the correct abstractions and making sure that we logically decide that those abstractions belong to these layers.

And then each of those abstractions that belongs to those layers needs to talk to the appropriate ones. For example, an abstraction inside of the, let's say, inside of the application layer is not necessarily supposed to know about directly an infrastructure concern. [00:02:00] That's called the dependency rule.

A lot of this is just becoming aware of the, just the foundational common stuff that you should know. But another part is to just continue educating yourself on different. Platforms, tools approaches like static sites static site generation, serverless, right? These things have non functional and functional reasons why we would want to use them.

And knowing these tools and knowing why they're useful is a great aspect of how you can become a better architect. So the strategic design essential involves you selecting the platform, selecting the architectural components, selecting the tools, selecting the external services that you're going to use in order for you to build the baseline, build the foundation of your architecture before you, [00:03:00] put out your walking skeleton.

In the process of selecting those tools, you can only go based on the experiences you've had and the knowledge you have. So if you go through the phases of craftship, what you're going to experience is using a three and four tier architecture. We're going to use the hexagonal architecture. We're going to make it event based.

You're going to learn how to glue pieces together in the responsibility first phase, because you now will understand the stereotypical architecture, and you'll know how to use object design to think about those things. Getting all the way up to that and then getting into the guess points and being able to look at an architecture through a systems thinking type of lens and decompose problems and transfer those problems into the correct systems of guess points.

That's also a very powerful technique to be able to do as well. In order to become a better architect, I would say, yeah, go through the phases of craftship, but take note of the architectural styles patterns. And.[00:04:00] Yeah, the tools that we're going to use to move through, but also go and try out new tools.

Yeah, maybe you've never used Docker before. We're going to use that. Maybe you've never used Kubernetes. Maybe you've never used an event queue or event bus rather, right? Maybe you've never used MongoDB. It's good to know what these things are and know why they're beneficial.

Thank you. To know non functionally why you could use them, but then Try them out as well on your own time and see if you could plug things together But at the end of the day it all comes down to responsibilities, so if you need something that is going to be able to Retrieve data very fast. We all know that the thing that's able to do that is It's going to be key value storage is the best tool for that Right?

And then there's document storage, and then there's just relational storage. So a large part is choosing the best tool for [00:05:00] the non functional task that you need to accomplish as well. Hopefully that was clear in order to become a better architect. But, first step, go through the phases of crapship.

Crapship? Craftship. And, yeah, you're gonna get a lot out of just doing that. And then, from there on, it's just more education and more experience. Yes.